package com.zero;

import java.util.List;

public class Main {

    public static void main(String[] args) {
	    // write your code here
        /**
         * 进制转换
         */
        int n = 166;
        System.out.println(n + "的二进制是:" + Integer.toBinaryString(n));
        System.out.println(n + "的八进制是:" + Integer.toOctalString(n));
        System.out.println(n + "的十六进制是:" + Integer.toHexString(n));
        System.out.println(n + "的三进制是：" + Integer.toString(n,3));


        String inputString = Integer.toOctalString(n);
        int count = hexConvert(inputString,8);
        System.out.println(count);

        System.out.println("Hello world");
        /**常量
         * 字符串常量  用双引号括起来的内容
         * 整数常量   所有整数
         * 小数常量  所有小数
         * 字符常量 用单引号括起来的内容，只能单个数字、单个字母、单个符号
         * 布尔常量
         * 空常量  nul
         */
        System.out.println("String");
        System.out.println(123);
        System.out.println(0.23);
        System.out.println('c');
        System.out.println(true);


        /**变量
         * 整数类型： byte、short、int、long
         * 浮点类型：float/double
         * 布尔类型 true、false
         * 字符类型 char
         */
        byte b = 10;
        short s = 20;
        int i = 30;
        long x = 88888888L;
        System.out.println(b);
        System.out.println(s);
        System.out.println(i);
        System.out.println(x);

        float f = 12.3F;
        double d = 33.4;
        System.out.println(f);
        System.out.println(d);

        char c = 'C';
        System.out.println(c);
        //byte、short、char -- int  -- long -- float -double

        /**
         * 运算符
         */

    }

    /**
     * 转换成十转换
     * @param inputString
     * @param radix
     * @return
     */
    public static int hexConvert(String inputString,int radix) {
        char[] inputCharArray = inputString.toCharArray();
        int outNumber = 0;
        for (int i = 0; i < inputCharArray.length; i++) {
            char indexString = inputCharArray[i];
            double multiplier =  Math.pow(radix,inputCharArray.length - (i + 1));
            outNumber += Integer.parseInt(Character.toString(indexString)) *  multiplier;
        }
        return  outNumber;
    }


}
